Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Об’єктно-орієнтоване програмування

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2008
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Інформаційні технології
Група:
ПІ-11

Частина тексту файла

Міністерство освіти і науки України Національний університет “Львівська політехніка” Інститут комп’ютерних наук та інформаційних технологій Кафедра ПЗ Звіт з лабораторної роботи №5 за курсом “Об’єктно-орієнтоване програмування” Львів 2008 Лабораторна робота №5 Тема: Перевантаження функцій і операцій. Дружні функції Мета: навчитися перевантажувати функції та операції, а також працювати з дружніми функціями; зрозуміти основні властивості та правила роботи з ними. Варіант №10 Виконання роботи 1.Постановка задачі. Написати програму алгоритмічною мовою С++ згідно із завданням, отриманим від викладача відповідно до варіанту. Реалізувати заданий класовий тип із заданими методами, використовуючи механізм перевантаження функцій та операцій, а також значення параметрів за замовчуванням. Написати фрагмент програми з використанням класового типу та заданих методів. Завдання: Трикутник на координатній площині [p1;p2;p3] Конструктор повинен визначати довільний або рівносторонній трикутник в центрі координат. Визначення периметра. Перевантажити операції ==, виводу <<, вводу >>, а також дружню операцію += для переміщення трикутника на [dx; dy].   2.Текст програми. Файл: Main.cpp #include <vcl.h> #include <iostream.h> #include <conio.h> #include "Triangle.h" #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused void main() {float Ax2,Ay2,Bx2,By2,Cx2,Cy2,P2; float Ax1,Ay1,Bx1,By1,Cx1,Cy1,P1; Triangle T2,T1; printf("Vvedit' koordynaty pershoho trykutnyka: A(x,y),B(x,y),C(x,y)\n"); cin >> T2; printf("Vvedit' koordynaty druhoho trykutnyka: A(x,y),B(x,y),C(x,y)\n"); cin >> T1; P2=T2.GetPerum(); printf("Perymetr 1 trykutnyka %f\n",P2); P1=T1.GetPerum(); printf("Perymetr 2 trykutnyka %f\n",P1); if (T2==T1) printf("Trykutnyky odnakovi\n"); else printf("Trykutnyky rizni\n"); if (T2.GetOzn()==1) printf("Trykutnyk 1 rivnostoronnij\n"); else printf("Trykutnyk 1 NE rivnostoronnij\n"); if (T1.GetOzn()==1) printf("Trykutnyk 2 rivnostoronnij\n"); else printf("Trykutnyk 2 NE rivnostoronnij\n"); float Z2[2],Z1[2]; printf("Vyznachte zsuv 1 trykutnyka (x,y): "); scanf("%f%f",&Z2[0],&Z2[1]); T2 += Z2; printf("\nVyznachte zsuv 2 trykutnyka (x,y): "); scanf("%f%f",&Z1[0],&Z1[1]); T1 += Z1; cout << T2; cout << T1; getch(); } //--------------------------------------------------------------------------- Файл: Triangle.cpp #include <math.h> #include "Triangle.h" #pragma hdrstop //--------------------------------------------------------------------------- float Triangle::GetPerum() {float P; AB=sqrt(pow((B[0]-A[0]),2)+pow((B[1]-A[1]),2)); BC=sqrt(pow((C[0]-B[0]),2)+pow((C[1]-B[1]),2)); AC=sqrt(pow((A[0]-C[0]),2)+pow((A[1]-C[1]),2)); P=AB+BC+AC; return P; }; //--------------------------------------------------------------------------- int Triangle::operator ==(Triangle &T1) {if ((T1.A[0]-A[0])==(T1.A[1]-A[1])==(T1.B[0]-B[0])==(T1.B[1]-B[1])==(T1.C[0]-C[0])==(T1.B[1]-B[1])) return 1; else return 0; }; //--------------------------------------------------------------------------- int Triangle::GetOzn() {if (AB==BC==AC) Ozn=1; else Ozn=0; return Ozn; }; //--------------------------------------------------------------------------- void operator +=(Triangle &TT,float *P) {TT.A[0]=TT.A[0]+*P; TT.A[1]=TT.A[1]+*(P+1); TT.B[0]=TT.B[0]+*P; TT.B[1]=TT.B[1]+*(P+1); TT.C[0]=TT.C[0]+*P; TT.C[1]=TT.C[1]+*(P+1); }; //--------------------------------------------------------------------------- void operator >> (istream &in,Triangle &T1) {in >> T1.A[0] ; in >> T1.A[1] ; in >> T1.B[0] ; in >> T1.B[1] ; in >> T1.C[0] ; in >> T1.C[1] ; }; //--------------------------------------------------------------------------- void operator << (ostream &out,Triangle&T1) {out << T1.A[0] << " "; out << T1.A[1] << " "; out << T1.B[0] << " "; out << T1.B[1] << " "; out << T1.C[0] << " "; out << T1.C[1] << " "; out << "\n"; }; //------...
Антиботан аватар за замовчуванням

31.03.2013 15:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини